#include<iostream>
#include<stdio.h>
using namespace std;

int arr[100][100];

void fill(int number,int begin,int size)  // 起始数字，起始下标，阶乘大小 
{
	if(size==0) return;

	if(size==1)
{
		arr[begin][begin] = number;
		return;
	}
	int i,j,k;
	i=begin;j=begin;
	for(int k=0;k<size-1;k++)arr[i++][j] = number++;
	for(int k=0;k<size-1;k++)arr[i][j++] = number++;
	for(int k=0;k<size-1;k++)arr[i--][j] = number++;
	for(int k=0;k<size-1;k++)arr[i][j--] = number++;
	fill(number,begin+1,size-2);
}

int main()
{
	int num,begin,size;
	cin>>num>>begin>>size;
	fill(num,begin,size);
	for(int i=0;i<size;i++)
	{
		for(int j=0;j<size;j++)
		{
			cout<<"  "<<arr[i][j]<<"   ";
		}
		puts(" ");
	}
	return 0;
} 
